package com.blueocean_health.care.management.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.multipart.MultipartFile;

import com.blueocean_health.care.management.domain.base.SysResult;
import com.blueocean_health.care.management.domain.dto.NurseWorkerInfoDto;
import com.blueocean_health.care.management.domain.dto.NurseWorkerInfoHealthCertResponseDto;
import com.blueocean_health.care.management.domain.dto.NurseWorkerInfoRequestDto;
import com.blueocean_health.care.management.domain.dto.NurseWorkerInfoResponseDto;
import com.blueocean_health.care.management.domain.dto.NurseWorkerListDto;
import com.blueocean_health.care.management.domain.dto.PullDownDto;
import com.blueocean_health.care.management.exception.OrderServiceException;
import com.github.pagehelper.PageInfo;

/**
 * 护工Service
 * @author huyanqiu
 * @date 2017年12月12日下午3:20:06
 * @version 版本号：1.0
 *
 */
public interface NurseWorkerInfoService {

	public SysResult add(NurseWorkerInfoDto nurseWorkerInfoDto);
	
	
	public SysResult modify(NurseWorkerInfoDto nurseWorkerInfoDto);
	/**
	 * 查询护工详情
	 * @param id
	 * @return
	 */
	SysResult findDetail(Integer id);
	
	/**
	 * 根据护工workerId获取护工详情
	* @Title: getNurseWorkerInfoById
	* @param map
	* @return
	* SysResult
	* @version V1.0
	* @throws
	 */
	public SysResult getNurseWorkerInfoById(String workerId) ;

	/**
	 * 查询护工列表
	 * @param nurseWorkerInfoRequestDto
	 * @param user
	 * @return
	 */
	SysResult list(NurseWorkerInfoRequestDto nurseWorkerInfoRequestDto);

	/**
	 * 导出护工
	 * @param nurseWorkerInfoRequestDto
	 * @return
	 */
	List<NurseWorkerInfoResponseDto> listNurseWorkerInfoExcel(NurseWorkerInfoRequestDto nurseWorkerInfoRequestDto);
	
	/**
	 * 根据筛选条件获取护工列表  2017年10月20日15:34:23
	* @Title: getNurseList
	* @param map
	* @return
	* List<PullDownDto>
	* @version V1.0
	* @throws
	 */
	public List<PullDownDto> getNurseList(Map<String, String> map);
	
	public SysResult updateWorkernamePinyin();
	
	
	public PageInfo<NurseWorkerListDto> getNurseWorkerListNew(Map<String, String> map) throws OrderServiceException;


	/**
	 * 删除护工
	 * @param id
	 * @return
	 */
	SysResult delete(Integer id);
	
	/**
	 * 上传图片
	 * @param imgFile
	 * @return
	 * @throws Exception
	 */
	SysResult upload(MultipartFile imgFile) throws Exception;


	/**
	 * 批量导入护工基本信息
	 * @param file
	 * @return
	 */
	SysResult importNurseExcel(String teamId, MultipartFile file);


	/**
	 * 批量上传护工图片
	 * @param file
	 * @return
	 */
	SysResult importNursePictureZip(String teamId, MultipartFile file);


	/**
	 * 健康证延期提醒列表
	 * @param nurseWorkerInfoRequestDto
	 * @return
	 */
	SysResult listHealthCert(NurseWorkerInfoRequestDto nurseWorkerInfoRequestDto);


	/**
	 * 健康证延期提醒--导出Excel
	 * @param nurseWorkerInfoRequestDto
	 * @return
	 */
	List<NurseWorkerInfoHealthCertResponseDto> exportHealthCertExcel(
			NurseWorkerInfoRequestDto nurseWorkerInfoRequestDto);


	/**
	 * 修改到期日
	 * @param nurseWorkerInfo
	 * @return
	 */
	SysResult modifyHealthDate(NurseWorkerInfoDto nurseWorkerInfoDto);

	/**
	 * 提醒补办
	 * @param nurseWorkerInfo
	 * @return
	 */
	SysResult remind(NurseWorkerInfoDto nurseWorkerInfoDto);


	/**
	 * 批量提醒
	 * @param nurseWorkerInfoRequestDto
	 * @return
	 */
	SysResult batchRemind(NurseWorkerInfoRequestDto nurseWorkerInfoRequestDto);


	/**
	 * 下载文档pdf
	 * @param idsList
	 * @return
	 */
	void downloadPdf(String teamId, Integer[] ids, HttpServletResponse response);






	
}
